home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 9.0 KB | 240 lines | [TEXT/MPS ] |
- (*
- File: QuickdrawText.mod
-
- Contains: QuickDraw Text Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$IF UNDEFINED OLDROUTINENAMES*)
- (*$SET OLDROUTINENAMES FALSE*)
- (*$END*)
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE QuickdrawText;
-
- IMPORT SYSTEM, Types;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- (* CharToPixel directions *)
- leftCaret* = 0; (*Place caret for left block*)
- rightCaret* = -1; (*Place caret for right block*)
- hilite* = 1; (*Direction is SysDirection*)
- smLeftCaret* = 0; (*Place caret for left block - obsolete *)
- smRightCaret* = -1; (*Place caret for right block - obsolete *)
- smHilite* = 1; (*Direction is TESysJust - obsolete *)
- (*Constants for styleRunPosition argument in PortionLine, DrawJustified,
- MeasureJustified, CharToPixel, and PixelToChar.*)
- onlyStyleRun* = 0; (* This is the only style run on the line *)
- leftStyleRun* = 1; (* This is leftmost of multiple style runs on the line *)
- rightStyleRun* = 2; (* This is rightmost of multiple style runs on the line *)
- middleStyleRun* = 3; (* There are multiple style runs on the line and this
- is neither the leftmost nor the rightmost. *)
- smOnlyStyleRun* = 0; (* obsolete *)
- smLeftStyleRun* = 1; (* obsolete *)
- smRightStyleRun* = 2; (* obsolete *)
- smMiddleStyleRun* = 3; (* obsolete *)
-
- (* type for styleRunPosition parameter in PixelToChar etc. *)
-
- TYPE
- JustStyleCode* = INTEGER;
-
- FormatOrder* = ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF INTEGER;
-
- FormatOrderPtr* = POINTER TO FormatOrder;
-
- OffPair* = RECORD
- offFirst*: INTEGER;
- offSecond*: INTEGER;
- END;
-
- OffsetTable* = ARRAY 3 (*ΔΔ[0..2]ΔΔ*) OF OffPair;
-
- StyleRunDirectionProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (styleRunIndex: INTEGER; dirParam: (*ΔΔUNIVΔΔ*) Types.Ptr): BOOLEAN;
- StyleRunDirectionUPP* = Types.UniversalProcPtr;
-
- CONST
- uppStyleRunDirectionProcInfo* = $00000390; (* PROCEDURE (2 byte param, 4 byte param): 1 byte result; *)
-
- PROCEDURE NewStyleRunDirectionProc*(userRoutine: StyleRunDirectionProcPtr): StyleRunDirectionUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallStyleRunDirectionProc*(styleRunIndex: INTEGER; dirParam: (*ΔΔUNIVΔΔ*) Types.Ptr; userRoutine: StyleRunDirectionUPP): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE Pixel2Char*(textBuf: Types.Ptr; textLen: INTEGER; slop: INTEGER; pixelWidth: INTEGER; VAR leadingEdge: BOOLEAN): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $820E, $0014, $A8B5;
- (*$END*)
- PROCEDURE Char2Pixel*(textBuf: Types.Ptr; textLen: INTEGER; slop: INTEGER; offset: INTEGER; direction: INTEGER): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $820C, $0016, $A8B5;
- (*$END*)
- PROCEDURE PixelToChar*(textBuf: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; pixelWidth: Types.Fixed; VAR leadingEdge: BOOLEAN; VAR widthRemaining: Types.Fixed; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8222, $002E, $A8B5;
- (*$END*)
- PROCEDURE CharToPixel*(textBuf: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; offset: LONGINT; direction: INTEGER; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $821C, $0030, $A8B5;
- (*$END*)
- PROCEDURE DrawJustified*(textPtr: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8016, $0032, $A8B5;
- (*$END*)
- PROCEDURE MeasureJustified*(textPtr: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; charLocs: Types.Ptr; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $801A, $0034, $A8B5;
- (*$END*)
- PROCEDURE PortionLine*(textPtr: Types.Ptr; textLen: LONGINT; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): Types.Fixed;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8412, $0036, $A8B5;
- (*$END*)
- PROCEDURE HiliteText*(textPtr: Types.Ptr; textLength: INTEGER; firstOffset: INTEGER; secondOffset: INTEGER; VAR offsets: OffsetTable);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $800E, $001C, $A8B5;
- (*$END*)
- PROCEDURE DrawJust*(textPtr: Types.Ptr; textLength: INTEGER; slop: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8008, $001E, $A8B5;
- (*$END*)
- PROCEDURE MeasureJust*(textPtr: Types.Ptr; textLength: INTEGER; slop: INTEGER; charLocs: Types.Ptr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $800C, $0020, $A8B5;
- (*$END*)
- PROCEDURE PortionText*(textPtr: Types.Ptr; textLength: LONGINT): Types.Fixed;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8408, $0024, $A8B5;
- (*$END*)
- PROCEDURE VisibleLength*(textPtr: Types.Ptr; textLength: LONGINT): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8408, $0028, $A8B5;
- (*$END*)
- PROCEDURE GetFormatOrder*(ordering: FormatOrderPtr; firstFormat: INTEGER; lastFormat: INTEGER; lineRight: BOOLEAN; rlDirProc: StyleRunDirectionUPP; dirParam: Types.Ptr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8012, $FFFC, $A8B5;
- (*$END*)
- (*$IF OLDROUTINENAMES *)
- PROCEDURE NPixel2Char*(textBuf: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; pixelWidth: Types.Fixed; VAR leadingEdge: BOOLEAN; VAR widthRemaining: Types.Fixed; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8222, $002E, $A8B5;
- (*$END*)
- PROCEDURE NChar2Pixel*(textBuf: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; offset: LONGINT; direction: INTEGER; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $821C, $0030, $A8B5;
- (*$END*)
- PROCEDURE NDrawJust*(textPtr: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8016, $0032, $A8B5;
- (*$END*)
- PROCEDURE NMeasureJust*(textPtr: Types.Ptr; textLength: LONGINT; slop: Types.Fixed; charLocs: Types.Ptr; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $801A, $0034, $A8B5;
- (*$END*)
- PROCEDURE NPortionText*(textPtr: Types.Ptr; textLen: LONGINT; styleRunPosition: JustStyleCode; numer: Types.Point; denom: Types.Point): Types.Fixed;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2F3C, $8412, $0036, $A8B5;
- (*$END*)
- (*$END*)
-
- TYPE
- FontInfo* = RECORD
- ascent*: INTEGER;
- descent*: INTEGER;
- widMax*: INTEGER;
- leading*: INTEGER;
- END;
-
- FormatStatus* = INTEGER;
-
-
- PROCEDURE TextFont*(font: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A887;
- (*$END*)
- PROCEDURE TextFace*(face: Types.Style);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A888;
- (*$END*)
- PROCEDURE TextMode*(mode: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A889;
- (*$END*)
- PROCEDURE TextSize*(size: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A88A;
- (*$END*)
- PROCEDURE SpaceExtra*(extra: Types.Fixed);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A88E;
- (*$END*)
- PROCEDURE DrawChar*(ch: CHAR);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A883;
- (*$END*)
- PROCEDURE DrawString*(s: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A884;
- (*$END*)
- PROCEDURE DrawText*(textBuf: (*ΔΔUNIVΔΔ*) Types.Ptr; firstByte: INTEGER; byteCount: INTEGER);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A885;
- (*$END*)
- PROCEDURE CharWidth*(ch: CHAR): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A88D;
- (*$END*)
- PROCEDURE StringWidth*(s: Types.ConstStr255Param): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A88C;
- (*$END*)
- PROCEDURE TextWidth*(textBuf: (*ΔΔUNIVΔΔ*) Types.Ptr; firstByte: INTEGER; byteCount: INTEGER): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A886;
- (*$END*)
- PROCEDURE MeasureText*(count: INTEGER; textAddr: (*ΔΔUNIVΔΔ*) Types.Ptr; charLocs: (*ΔΔUNIVΔΔ*) Types.Ptr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A837;
- (*$END*)
- PROCEDURE GetFontInfo*(VAR info: FontInfo);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A88B;
- (*$END*)
- PROCEDURE CharExtra*(extra: Types.Fixed);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA23;
- (*$END*)
- PROCEDURE StdText*(count: INTEGER; textAddr: (*ΔΔUNIVΔΔ*) Types.Ptr; numer: Types.Point; denom: Types.Point);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A882;
- (*$END*)
- PROCEDURE StdTxMeas*(byteCount: INTEGER; textAddr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR numer: Types.Point; VAR denom: Types.Point; VAR info: FontInfo): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A8ED;
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END QuickdrawText.
-